\hypertarget{interboursier_8h}{
\section{/home/noxon/coding/C/esiee-in301/src/interboursier.h File Reference}
\label{interboursier_8h}\index{/home/noxon/coding/C/esiee-in301/src/interboursier.h@{/home/noxon/coding/C/esiee-in301/src/interboursier.h}}
}
{\tt \#include \char`\"{}casual\_\-includes.h\char`\"{}}\par
{\tt \#include \char`\"{}../libbourse/alea.h\char`\"{}}\par
{\tt \#include \char`\"{}../libcomm/logger.h\char`\"{}}\par
{\tt \#include \char`\"{}../libcomm/message.h\char`\"{}}\par
{\tt \#include \char`\"{}../libcomm/communication.h\char`\"{}}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structid2port__struct}{id2port\_\-struct}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define \hyperlink{interboursier_8h_806110e763e6a414d67eb0fb7ec3e55a}{NB\_\-BOURSES}~25
\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef struct \hyperlink{structid2port__struct}{id2port\_\-struct} \hyperlink{interboursier_8h_8bf5bdff8d771ba3ff6168193aa6bb9f}{id2port}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
void \hyperlink{interboursier_8h_1deebd25d996a4d9117c68d077d442fe}{launch\_\-interboursier} (\hyperlink{structmodule__struct}{module} $\ast$mdl, const int port, const int nb\_\-serv)
\item 
int \hyperlink{interboursier_8h_a277b40da22db8d57679b9ef7a0a7861}{route} (\hyperlink{structid2port__struct}{id2port} $\ast$tbl, int id)
\item 
int \hyperlink{interboursier_8h_3b40d42fb4c261a0545f6b384b2c8b83}{add\_\-route} (\hyperlink{structid2port__struct}{id2port} $\ast$tbl, int id, int port)
\end{CompactItemize}


\subsection{Define Documentation}
\hypertarget{interboursier_8h_806110e763e6a414d67eb0fb7ec3e55a}{
\index{interboursier.h@{interboursier.h}!NB\_\-BOURSES@{NB\_\-BOURSES}}
\index{NB\_\-BOURSES@{NB\_\-BOURSES}!interboursier.h@{interboursier.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define NB\_\-BOURSES~25}}
\label{interboursier_8h_806110e763e6a414d67eb0fb7ec3e55a}


S'occupe entièrement du réseau interboursier. \begin{Desc}
\item[Author:]: Christopher Rabotin nombre maximal de bourse pouvant être dans la table de routage \end{Desc}


Definition at line 14 of file interboursier.h.

Referenced by add\_\-route(), and route().

\subsection{Typedef Documentation}
\hypertarget{interboursier_8h_8bf5bdff8d771ba3ff6168193aa6bb9f}{
\index{interboursier.h@{interboursier.h}!id2port@{id2port}}
\index{id2port@{id2port}!interboursier.h@{interboursier.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf id2port\_\-struct}  {\bf id2port}}}
\label{interboursier_8h_8bf5bdff8d771ba3ff6168193aa6bb9f}




\subsection{Function Documentation}
\hypertarget{interboursier_8h_3b40d42fb4c261a0545f6b384b2c8b83}{
\index{interboursier.h@{interboursier.h}!add\_\-route@{add\_\-route}}
\index{add\_\-route@{add\_\-route}!interboursier.h@{interboursier.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int add\_\-route ({\bf id2port} $\ast$ {\em tbl}, \/  int {\em id}, \/  int {\em port})}}
\label{interboursier_8h_3b40d42fb4c261a0545f6b384b2c8b83}


Permet d'ajouter un serveur à la table de routage. Cette fonction fait appel à \hyperlink{interboursier_8c_a277b40da22db8d57679b9ef7a0a7861}{route()} pour savoir si la bourse est déjà dans la table. Si oui, alors on n'ajoute pas le nouveau serveur à la table de routage. \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em tbl}]la table de routage \item[{\em id}]l'identifiant de la bourse correspondante \item[{\em port}]le port du serveur d'acquisition de cette bourse. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]0 s'il n'y a plus de place dans la table de routage, 1 sinon. \end{Desc}


Definition at line 182 of file interboursier.c.

References id2port\_\-struct::id\_\-bourse, NB\_\-BOURSES, id2port\_\-struct::port\_\-bourse, and route().

Referenced by launch\_\-interboursier().\hypertarget{interboursier_8h_1deebd25d996a4d9117c68d077d442fe}{
\index{interboursier.h@{interboursier.h}!launch\_\-interboursier@{launch\_\-interboursier}}
\index{launch\_\-interboursier@{launch\_\-interboursier}!interboursier.h@{interboursier.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void launch\_\-interboursier ({\bf module} $\ast$ {\em mdl}, \/  const int {\em port}, \/  const int {\em nb\_\-serv})}}
\label{interboursier_8h_1deebd25d996a4d9117c68d077d442fe}


Permet de démarrer un serveur interboursier \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em mdl}]module lié au serveur interboursier \item[{\em port}]port sur lequel le serveur se bind \item[{\em nb\_\-serv}]nombre de serveur d'acquision (temporaire)\end{description}
\end{Desc}
\par
{\bf Exemple d'utilisation:} \small\begin{alltt}module *inter=init\_module("Interboursier", interb, 1200);
 launch\_interboursier(inter, 1200, 2);\end{alltt}
\normalsize 
 

Definition at line 3 of file interboursier.c.

References msg\_\-struct::action, add\_\-route(), create\_\-msg(), msg\_\-struct::emetteur, server\_\-struct::isAlive, server\_\-struct::local\_\-addr, log\_\-msg(), log\_\-msg\_\-srv(), log\_\-smth(), log\_\-srv(), MAXRECVDATA, msg\_\-to\_\-str(), server\_\-struct::my\_\-port, module\_\-struct::name, server\_\-struct::name, server\_\-struct::numbytes, PORT\_\-INTERBOURSIER, server\_\-struct::recvdata, server\_\-struct::remote\_\-addr, route(), server\_\-struct::sin\_\-size, server\_\-struct::sockfd, module\_\-struct::srv, str\_\-to\_\-msg(), and msg\_\-struct::type.

Referenced by main().\hypertarget{interboursier_8h_a277b40da22db8d57679b9ef7a0a7861}{
\index{interboursier.h@{interboursier.h}!route@{route}}
\index{route@{route}!interboursier.h@{interboursier.h}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int route ({\bf id2port} $\ast$ {\em tbl}, \/  int {\em id})}}
\label{interboursier_8h_a277b40da22db8d57679b9ef7a0a7861}


Permet de récupérer le port du serveur d'acquisition à partir de l'identifiant d'une bourse \begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em tbl}]la table de routage \item[{\em id}]l'identifiant de la bourse à atteindre \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]'-1' si le serveur n'a pas été trouvé, sinon le port du serveur d'acquisition\end{Desc}
Permet de récupérer un socket descriptor à partir de l'identifiant d'une bourse 

Definition at line 169 of file interboursier.c.

References id2port\_\-struct::id\_\-bourse, NB\_\-BOURSES, and id2port\_\-struct::port\_\-bourse.

Referenced by add\_\-route(), and launch\_\-interboursier().